有了功能需求、API 規格就可以來規劃資料庫拉!
一樣先上學習資源
資料庫設計要注意什麼?. 文章大綱 | by De_ | Medium
資料庫設計的基本概念 - Microsoft 支援服務
因為有要建立會員系統,到時候會員與任務是有關聯的,所以選擇使用關聯式資料庫。
再加上 Wehelp 第一階段使用的是 MySQL,所以在資料庫選擇上就選了 MySQL。
這邊強烈推薦彭彭老師的課程影片:
MySQL 資料庫全攻略 - YouTube 講解的清晰易懂,非常適合新手。
需要查詢指令可以到 MySQL 語法匯整 基礎要用到的都有
主要是依照我們使用者故事開出來的功能需求以及 API 規格去設定資料庫的格式
盡量做到符合正規化的方式
一個欄位只有一個資料
欄位功能不重複
一張表只放同類資料
我們從使用者故事、畫面設計所得到的資料需求有兩個方面
password_hash、salt:
創建指令:
CREATE TABLE member (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(255) UNIQUE NOT NULL,
password VARCHAR(500) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL
);
member_id:
priority、start、status:
description:
創建指令:
CREATE TABLE task (
id INT PRIMARY KEY AUTO_INCREMENT,
member_id INT NOT NULL,
title VARCHAR(255) NOT NULL,
priority ENUM('High', 'Medium', 'Low') DEFAULT "Medium",
status ENUM('Todo', 'Doing', 'Done') DEFAULT "Todo",
start DATETIME DEFAULT CURRENT_TIMESTAMP,
deadline DATETIME DEFAULT (NOW() + INTERVAL 1 DAY),
description TEXT,
FOREIGN KEY (member_id) REFERENCES member(id) ON DELETE CASCADE
);
總算將開發前需要的部分給準備好了,明天開始就要正式進入開發拉~~~